Computing systems continue to evolve to facilitate increased performance when processing workloads. Virtualization is a technology that allows multiple virtual machines (workloads) to be created and executed on a single physical computer, yielding various advantages, including better utilization of hardware, and better isolation of multiple software applications running on the same computer. Virtualization partitions the resources of a physical computer among multiple virtual machines such that each virtual machine uses an allocated share of the resources.
However, certain resources are shared and not completely partitioned, or the partitioning is not strictly enforced by the current virtualization technology. This causes a problem in that the performance of a virtual machine changes depending on the level of utilization of the shared resource by other virtual machines. For instance, as a shared resource becomes more heavily utilized, a virtual machine may start receiving a lower share than what it gets when the resource is at low utilization. This phenomenon is often referred to as interference.